import mountElement from "./mountElement"
import updateNodeElement from './updateNodeElement'

export default function createDOMElement(virtualDOM) {
    let newElement = null
    if(virtualDOM.type === 'text') {
        // 创建文本节点
        newElement = document.createTextNode(virtualDOM.props.textContent)
    }else{
        // 创建元素节点
        newElement = document.createElement(virtualDOM.type)
        // 为元素节点挂载属性
        updateNodeElement(newElement,virtualDOM)
    }
    //方便找到virtualDOM进行比对
    newElement._virtualDOM = virtualDOM
    // 递归创建子节点
    virtualDOM.children.forEach(element => {
        mountElement(element,newElement)
    })

    return newElement
}